// 函数组合
// 把多个函数组合生成一个新得函数 然后把参数输入给第一个参数（从右到左），当它执行完成得时候会把中间结果返回给下一个参数，当全部执行完成得时候 会把最终得结果返回
// 组合两个函数
function compose(fn,gn) {
    return function(value) {
        return fn(gn(value))
    }
}

// 演示获取数组得最后一个元素
function reverse (array) {
    return array.reverse()
}

function first (array) {
    return array[0]
}

const last = compose(first, reverse)
console.log(last([1,2,3,4]))
